Convert routes from MaxSea to GPX. Note this only supports routes pasted from the clipboard using “Route Center” with all columns. Use at your own risk!
by Scott Emmons - 2010-05-17
max2open.pl.kml
#!/usr/bin/perl
# Convert routes from MaxSea to GPX. Note this only supports routes
# pasted from the clipboard using "Route Center" with all columns.
# Use at your own risk!
#
# Scott Emmons - 2010-05-17 - Created
print "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
print "<gpx version=\"1.1\" creator=\"max2open\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://www.topografix.com/GPX/1/1\" xsi:schemaLocation=\"http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd\" xmlns:opencpn=\"http://www.opencpn.org\">\n";
print " <rte>\n";
print " <name>Imported route</name>\n";
print " <number>1</number>\n";
while(<>) {
@row=split(/\t/);
$name=$row[0];
if ($name ne "") {
($latd,$latm,$lath)=split(/[\xb0 \r\n]/,$row[27]);
($lond,$lonm,$lonh)=split(/[\xb0 \r\n]/,$row[28]);
$lat=$latd+($latm/60.0);
$lon=$lond+($lonm/60.0);
if ($lath eq "S") {
$lat=-$lat;
}
if ($lonh eq "W") {
$lon=-$lon;
}
print " <rtept lat=\"$lat\" lon=\"$lon\">\n";
print " <name>$name</name>\n";
print " <sym>diamond</sym>\n";
print " <type>WPT</type>\n";
print " <extensions>\n";
print " <opencpn:prop>A,1,1,0,1</opencpn:prop>\n";
print " </extensions>\n";
print " </rtept>\n";
}
}
print " </rte>\n";
print "</gpx>\n";